﻿@import url('https://fonts.googleapis.com/css?family=Lora:400,700|Oswald:300');
/*#region Fonts and Colours */
/*#endregion */
* {
  margin: 0;
  padding: 0;
}
html {
  font-size: 16px;
}
html,
body {
  width: 100%;
  height: 100%;
}
body {
  font-family: "Lora", Georgia, 'Times New Roman', Times, serif;
  font-size: 16px;
  font-weight: 400;
  color: #4c4b4b;
  background-color: #fff;
}
a,
a:hover,
a:visited,
a:focus {
  color: #4c4b4b;
  text-decoration: underline;
}
nav a,
nav a:hover,
nav a:visited,
nav a:focus {
  text-decoration: none;
}
h1,
h2,
h3 {
  font-family: "Oswald", Arial, Helvetica, sans-serif;
  letter-spacing: 0.05em;
  font-weight: 300;
}
header .top-social {
  position: absolute;
  right: 0;
  top: 0;
  padding: 10px;
  display: none;
  z-index: 10;
}
header .top-social a {
  font-size: 24px;
  text-decoration: none;
  cursor: pointer;
  color: #7f7e7e;
}
header .top-social a:hover {
  color: #4c4b4b;
}
header .top-social a + a {
  margin-left: 10px;
}
@media (min-width: 768px) {
  header .top-social {
    display: block;
  }
}
header .logo {
  width: 100%;
  margin: 0 auto;
  margin-top: 20px;
  max-width: 240px;
}
@media (min-width: 768px) {
  header .logo {
    width: 50%;
    padding: 20px;
    margin-top: 0;
    max-width: 290px;
  }
}
header .logo img {
  max-width: 100%;
}
header nav {
  font-family: "Oswald", Arial, Helvetica, sans-serif;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  font-size: 22px;
  text-align: center;
}
header nav li {
  display: inline-block;
}
header nav li a {
  padding: 10px;
  display: block;
}
header nav .navbar-toggle .icon-bar {
  background-color: #4c4b4b;
}
header .navbar {
  z-index: 3;
}
header .navbar .navbar-header {
  z-index: 101;
  position: fixed;
  padding-left: 10px;
}
header .navbar .navbar-header .navbar-toggle {
  background-color: white;
  border-color: #4c4b4b;
}
header .navbar .navbar-nav {
  float: none;
  display: inline-block;
}
header .navbar #main-nav {
  position: fixed;
  top: 0px;
  margin: 0px auto;
  width: 100%;
  z-index: 10;
  background-color: white;
}
@media (min-width: 768px) {
  header .navbar #main-nav {
    background-color: transparent;
    position: relative;
  }
}
@media (min-width: 768px) {
  header .navbar {
    margin-bottom: 0;
  }
}
header .contact-info {
  text-align: center;
}
header .contact-info .phone {
  font-size: 18px;
  margin-top: 10px;
}
header .contact-info .social {
  margin-top: 10px;
  margin-bottom: 10px;
}
header .contact-info .social a {
  text-decoration: none;
  font-size: 22px;
}
header .contact-info .social a:hover {
  color: black;
}
header .contact-info .social a + a {
  margin-left: 15px;
}
/*#region Separators */
.separator {
  margin-top: 20px;
  margin-bottom: 80px;
}
.separator:after {
  content: '';
  display: block;
  width: 100%;
  height: 3px;
  background: #4c4b4b;
  margin-top: -46px;
  z-index: 0;
  position: relative;
  box-shadow: 0px 1px 1px 0px rgba(43, 40, 41, 0.42);
}
.logo-bullet {
  margin: 0 auto;
  width: 90px;
  background-color: white;
  z-index: 2;
  position: relative;
}
.logo-bullet .bullet-circle {
  border: 4px solid #4c4b4b;
  width: 90px;
  height: 90px;
  z-index: 3;
  display: block;
  border-radius: 50%;
}
.logo-bullet span.bullet-text {
  position: absolute;
  top: 26px;
  text-align: center;
  width: 100%;
  text-transform: lowercase;
  font-family: "Oswald", Arial, Helvetica, sans-serif;
  letter-spacing: 0.05em;
  font-size: 24px;
  font-weight: 300;
  color: #171616;
}
.rotate-plus-20 {
  left: 10%;
}
.rotate-minus-20 {
  left: -10%;
}
.rotate-plus-40 {
  left: 20%;
}
.rotate-minus-40 {
  left: -20%;
}
/*#endregion */
.slider-container {
  width: 100%;
  overflow: hidden;
}
.flexslider {
  padding: 0 40px;
  margin: 0 auto;
  max-width: 1150px;
}
.flexslider .flex-viewport {
  overflow: visible !important;
}
.flexslider .slides img {
  display: block;
  width: 100%;
  height: auto;
  padding: 0 10px 0 10px;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
.module.container {
  text-align: center;
}
.page-content {
  text-align: center;
  font-size: 18px;
}
section.food .menu-titles {
  text-align: center;
  margin-bottom: 15px;
}
section.food .menu-titles .menu-description {
  margin-top: 10px;
}
section.food .menu-title-item {
  text-align: center;
}
section.food .menu-title-item a {
  font-family: "Oswald", Arial, Helvetica, sans-serif;
  letter-spacing: 0.05em;
  font-size: 22px;
  cursor: pointer;
  text-decoration: none;
  padding-bottom: 2px;
  margin-bottom: 5px;
  display: inline-block;
}
section.food .menu-title-item a.selected {
  border-bottom: 1px dotted #4c4b4b;
  margin-bottom: 4px;
}
@media (min-width: 768px) {
  section.food .menu-title-item {
    display: inline-block;
  }
  section.food .menu-title-item + .menu-title-item {
    margin-left: 25px;
  }
}
section.food .course-item {
  margin-bottom: 30px;
}
section.food .course-item .course-title {
  font-weight: 700;
  font-size: 18px;
  margin-bottom: 10px;
  display: block;
}
section.food .course-item.selected {
  display: block !important;
}
section.food .course-item.selected .dish-item {
  display: block !important;
}
section.food .dish-item {
  margin-bottom: 20px;
}
section.food .dish-item .dish-title,
section.food .dish-item .dish-desc,
section.food .dish-item .dish-price {
  display: block;
}
section.food .dish-item .dish-title {
  margin-bottom: 5px;
}
section.food .dish-item .dish-desc {
  font-size: 14px;
  margin-bottom: 5px;
  letter-spacing: 0.02em;
}
section.drink .drink-type {
  text-transform: uppercase;
  display: none;
  margin-top: 30px;
}
section.drink .drink-type h2 {
  font-size: 28px;
}
section.drink .drink-type.first-of-type {
  display: block;
}
section.drink .drink-type.first-of-type.very-first {
  margin-top: 0;
}
section.drink .drink-item {
  margin-bottom: 15px;
}
section.drink .drink-item .pump-clip-holder.placeholder {
  border: 1px solid #e5e4e4;
}
section.drink .drink-item .pump-clip-holder img {
  max-width: 100%;
}
section.drink .drink-item .drink-header {
  font-size: 20px;
}
section.drink .drink-item .drink-header .abv {
  display: inline-block;
  width: 100%;
  text-align: right;
}
@media (min-width: 768px) {
  section.drink .drink-item .drink-header {
    font-size: 22px;
  }
}
.pdf-menus {
  margin-bottom: 30px;
}
section.booking {
  padding-bottom: 30px;
}
section.booking .venue-times h2 {
  font-size: 20px;
  font-weight: bold;
}
section.booking .venue-times + .venue-times {
  margin-top: 15px;
}
section.booking #ot-reservation-widget {
  font-family: "Oswald", Arial, Helvetica, sans-serif;
  letter-spacing: 0.05em;
}
section.booking #ot-reservation-widget .ot-dtp-picker {
  width: 16rem;
  margin: 0 auto;
}
section.booking #ot-reservation-widget .ot-title {
  font-family: "Oswald", Arial, Helvetica, sans-serif;
  letter-spacing: 0.05em;
  font-weight: 300;
  font-size: 22px;
}
section.booking #ot-reservation-widget .ot-button {
  font-family: "Oswald", Arial, Helvetica, sans-serif;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  background-color: #4c4b4b;
  box-shadow: 0 0 0 1px #4c4b4b;
}
section.booking #ot-reservation-widget .picker__close {
  background: #ccc;
  color: #4c4b4b;
}
section.booking #ot-reservation-widget .picker__nav--next,
section.booking #ot-reservation-widget .picker__nav--prev {
  color: black;
}
section.booking #ot-reservation-widget .picker--focused .picker__day--highlighted,
section.booking #ot-reservation-widget .picker__day--highlighted:hover {
  background: #4c4b4b;
}
section.booking #ot-reservation-widget .picker__day--highlighted {
  background: #4c4b4b;
}
section.booking #ot-reservation-widget .picker__day--infocus:hover,
section.booking #ot-reservation-widget .picker__day--outfocus:hover {
  color: #000000;
  background: #e6e6e6;
}
section.contact .social-links {
  margin-top: 30px;
}
section.contact .social-links a {
  text-decoration: none;
  font-size: 30px;
}
section.contact .social-links a:hover {
  color: black;
}
section.contact .social-links a + a {
  margin-left: 30px;
}
section.contact .map {
  margin-top: 50px;
}
@media (min-width: 992px) {
  section.contact .map {
    margin-top: 0;
  }
}
section.contact .contact-form {
  margin-top: 30px;
  width: 100%;
}
section.contact .contact-form label,
section.contact .contact-form input[type=text],
section.contact .contact-form textarea {
  display: block;
}
section.contact .contact-form .form-group .error {
  visibility: hidden;
  color: red;
}
section.contact .contact-form .form-group.has-error span.error {
  visibility: visible;
}
section.contact .contact-form .form-group.has-error input,
section.contact .contact-form .form-group.has-error textarea {
  border-color: red;
}
section.contact .contact-form input[type=text],
section.contact .contact-form textarea {
  width: 100%;
  padding: 10px;
  border: 1px dotted #4c4b4b;
  background-color: transparent;
  font-family: "Lora", Georgia, 'Times New Roman', Times, serif;
  font-size: 16px;
}
section.contact .contact-form .btn {
  border-radius: 0;
}
section.contact .email-notification {
  display: none;
}
section.contact .email-notification .error {
  display: none;
}
section.contact .email-notification.has-error .success {
  display: none;
}
section.contact .email-notification.has-error .error {
  display: block;
}
section.events .event-item {
  margin-bottom: 40px;
}
section.events .event-item .event-image-holder {
  margin-left: -15px;
  margin-right: -15px;
}
section.events .event-item .event-image-holder img {
  max-width: 100%;
  width: 100%;
}
@media (min-width: 768px) {
  section.events .event-item .event-image-holder {
    margin-left: 0;
    margin-right: 0;
  }
}
section.events .event-item .datetime {
  display: block;
  text-transform: uppercase;
  font-family: "Oswald", Arial, Helvetica, sans-serif;
  letter-spacing: 0.05em;
  font-size: 22px;
  margin-top: 10px;
}
@media (min-width: 768px) {
  section.events .event-item .datetime {
    margin-top: -6px;
  }
}
section.events .event-item .datetime .ordinal {
  font-size: 70%;
  top: -0.33em;
  position: relative;
}
section.events .event-item .title {
  display: block;
  font-size: 22px;
  font-weight: normal;
}
footer {
  padding: 30px 0;
  margin-top: 30px;
  text-align: center;
}